Configuring client devices

ABSTRACT

A communication system and method for the utilization of social networks to provide computing devices operational information. The computing devices access one or more social networks and associate with an account of a specified user. The computing devices can maintain social network profiles that provide configuration information of the computing device. The computing devices can process information provided profile updates to cause a configuration of the client device. The computing devices can also process social network communications to process operational parameters of the client device.

BACKGROUND

Generally described, computing devices utilize a communication network,or a series of communication networks, to exchange data. Companies andorganizations operate computer networks that interconnect a number ofcomputing devices to support operations or provide services to thirdparties. The computing systems can be located in a single geographiclocation or located in multiple, distinct geographic locations (e.g.,interconnected via private or public communication networks).Specifically, data centers or data processing centers, herein generallyreferred to as “data centers,” may include a number of interconnectedcomputing systems to provide computing resources to users of the datacenter. The data centers may be private data centers operated on behalfof an organization or public data centers operated on behalf, or for thebenefit of, the general public.

To facilitate increased utilization of data center resources,virtualization technologies allow a single physical computing machine tohost one or more instances of virtual machines that appear and operateas independent computer machines to a connected computer user. Withvirtualization, a single physical computing device can create, maintain,or delete virtual machines in a dynamic manner. In turn, users canrequest computer resources from a data center and be provided withvarying numbers of virtual machine resources on an “as needed” or “asrequested” basis. In addition to virtual machines, a data center mayprovide other computing resources, including hardware computingcapacity, data storage space, network bandwidth, and the like.

In some environments, the computing devices that communicate via thecommunication network can correspond to devices having a primaryfunction as a computing device, such as a desktop personal computer. Inother environments, at least some portion of the computing devices thatcommunication via the communication network can correspond to embeddeddevices or thin devices that have at least one alternative primaryfunction, such as household appliances having a separate primary purpose(e.g., a thermostat or refrigerator) while also providing at leastlimited computing functionality.

BRIEF DESCRIPTION OF THE DRAWINGS

Throughout the drawings, reference numbers may be re-used to indicatecorrespondence between referenced elements. The drawings are provided toillustrate example embodiments described herein and are not intended tolimit the scope of the disclosure.

FIG. 1 is a block diagram of a communication management environment thatincludes one or more client devices, one or more user devices, one ormore social networks and a content management system according to oneembodiment;

FIGS. 2 and 2A are block diagrams of illustrative components of alimited resource client computing device configured to remotely processcontent in accordance with an illustrative embodiment;

FIG. 3 is a block diagram of illustrative components of a clientcomputing device configured to remotely process content in accordancewith an illustrative embodiment;

FIG. 4 is a block diagram of illustrative components of a remote commandservice computing device configured to provide content in accordancewith an illustrative embodiment;

FIG. 5A-5C are block diagrams of the communication managementenvironment of FIG. 1 illustrating the interaction related to clientdevice for obtaining configuration information via social networkservices in accordance with an illustrative embodiment;

FIG. 6A-6F are block diagrams of the communication managementenvironment of FIG. 1 illustrating the interaction between theillustrated components for client device configuration via socialnetwork services;

FIG. 7 is a flow diagram illustrative of a social network configurationroutine implemented by a client device in accordance with anillustrative embodiment; and

FIG. 8 is a flow diagram illustrative of a social network informationprocessing routine implemented by a client device in accordance with anillustrative embodiment.

DETAILED DESCRIPTION

Generally described, the present application corresponds to themanagement of data transmitted between computing devices in acommunication network. More specifically, aspects of the presentapplication correspond to the utilization of social network services toconfigure client devices and exchange information related to theoperation of client devices. Illustratively, one or more client devicesinclude network connectivity sufficient to exchange information withvarious social networks or social networking resources, such as Websites. In a first aspect, some of the client devices may correspond todevices in which the computing functionality is not the sole function ofthe device, such as appliances that have embedded computing resources.Additionally, many of these devices do not have traditional input oroutput controls that facilitate the configuration of the client devicesby a user. Nonetheless, many of the client devices may configured tocommunicate via a messaging protocol, such as the MQTT messagingprotocol, to exchange content. Additionally, the client devices can alsoinclude some form of data connectivity applications, such as browserapplications or portions of browser components, that facilitatecommunication with social networks.

In accordance with aspects of the present application, one or moreclient devices can be configured to the preferences of individual usersor as part of a grouping of client devices, such as in a home, businessor other logical or physical organizational criteria. To facilitate theconfiguration, the client devices communicate with a social networkservice to make a connection with a particular user or administrator ofthe grouping of client devices. In one example, the client devices canobtain social network identifiers of the particular user oradministrator and request to make a connection. In another example, theclient devices can publish availability to make a connection via asocial network and accept a connection request from the specific user oradministrator. In a further example, a social network service can alsobe utilized to model a grouping of client devices and to create socialnetwork profiles that are common or complimentary to each client deviceand include profile information associated with a specifieduser/administrator.

Once a connection with the specific user or administrator has beenestablished, the client devices can be configured utilizing informationprovided through various communication mechanism provided by the socialnetwork. In one aspect, each client device can be associated with aspecific social network profile that identifies one or more operationalcriteria of the client device. The client device can publish (or makeavailable) the social network profile and receive updates to the socialnetwork profiles from the specific user or administrator. Additionally,the at least portions of social network profile information from one ormore users may be utilized to update or supplement the client devicesocial profiles. The updates to the social network profiles can beprocessed to result in a configuration of the client devices, such asoperating parameters, communication preferences, security settings, andthe like.

In another aspect, each client device can also utilize the communicationplatforms provided by the social networks to receive information fromthe specific user or administrator or to publish information to specificuser or administrator. For example, the specific user or administratorcan publish a message directly to the client device via the socialnetwork that includes a specific command (e.g., turn on) or attribute(e.g., a temperature setting) that is received and processed by theclient device. In another example, the specific user or administratormay publish a message indirectly to the client device (e.g., a grouppost) that can be parsed by the client device to implement some action(e.g., “on my way home” can be processed to cause a client deviceoperating home lights to enter a select program. In a further example,the client devices can also publish information related to theoperational characteristics of the client device. The publishedinformation can include processing results (e.g., error codes or successconfirmation) or specific readings (e.g., the number of times a door hasbeen opened or a security code utilized). Additionally, in someembodiments, a service provider can utilize additional resources, suchas virtualized representations of the client devices, to facilitate theprocessing of the social network communications and provide at least aportion of the processing communication information, such as theconfiguration information, to the client device.

Although aspects of some embodiments described in the disclosure willfocus, for the purpose of illustration, on the MQTT messaging protocoland other illustrative social networking platforms, one skilled in therelevant art will appreciate that the examples are illustrative only andare not necessarily intended to be limiting.

FIG. 1 is a block diagram depicting an illustrative logical network 100including multiple client computing devices 102 and user devices 104 incommunication with a content management system 110 and one or morecontent providers implementing social networks 120 via a network 130.While the client computing devices 102 and user devices 104 are shown asa group within FIG. 1, the client computing devices 102 and user devices104 individually or as a grouping may be geographically distant, andindependently owned or operated. For example, the client computingdevices 102 or client devices 102 could represent a multitude of clientdevices within a specific home or office. In another example, the clientcomputing devices 102 could be part of a grouping of multiple of devicesassociated with an organization, such as number of computing componentsassociated with various devices in different geographic areas.Similarly, while one set of illustrative components is shown torepresent the content management system 110 and network serviceproviders 120, multiple instances of each component may be presentwithin the content management system 110, and such components may belocated within geographically diverse areas (e.g., globally,continentally, or regionally), in order to provide a wide geographicalpresence for the content management system 110. Likewise, social networkservice providers 120 represent any number of computing devices or othercomponents utilized by a content provider to facilitate the delivery,processing and storage of content via the network 130.

Network 130 may be any wired network, wireless network, or combinationthereof. In addition, the network 130 may be a personal area network,local area network, wide area network, cable network, satellite network,cellular telephone network, or combination thereof. In the exampleenvironment of FIG. 1, network 130 is a global area network (GAN), suchas the Internet. Protocols and components for communicating via theother aforementioned types of communication networks are well known tothose skilled in the art of computer communications and thus, need notbe described in more detail herein. While each of the client computingdevices 102, admin devices 104, and content management system 110 isdepicted as having a single connection to the network 130, individualcomponents of the client computing devices 102, admin devices 104, andcontent management system 110 may be connected to the network 130 atdisparate points. Accordingly, communication times and capabilities mayvary between the components of FIG. 1.

Client computing devices 102 may include any number of differentcomputing devices capable of communicating with the content managementsystem 110 and social networks 120. For example, individual accessingcomputing devices may correspond to a laptop or tablet computer,personal computer, wearable computer, server, personal digital assistant(PDA), hybrid PDA/mobile phone, mobile phone, electronic book reader,set-top box, camera, appliance, controller, digital media player, andthe like. Each client computing device 102 may optionally include one ormore data stores (not shown in FIG. 1) including various applications orcomputer-executable instructions, such as web browsers, used toimplement the embodiments disclosed herein. On an individual basis,client computing devices 102 may generally have access to fewercomputing resources (e.g., processing power, memory, persistent storagespace, electronic power, network communication capabilities, input andoutput capabilities, etc.) than the user computing devices 104 andcontent management system 110. Illustrative components of a clientcomputing device 102 will be described with regard to FIGS. 2 and 2A. Inone embodiment, the client computing devices 102 can be referred to anInternet of Things (“IOT”) devices representative of a class of devicesin which computing functionality can be embedded within devices havingat least one additional alternative functionality. Examples include, butare not limited, household appliances, controls for various otherdevices, consumer goods, and the like.

Similar to the client computing devices 102, the user computing devices104 may include any number of different computing devices capable ofcommunicating with the content management system 110. For example,individual accessing computing devices may correspond to a laptop ortablet computer, personal computer, wearable computer, server, personaldigital assistant (PDA), hybrid PDA/mobile phone, mobile phone,electronic book reader, set-top box, camera, digital media player, andthe like. Each client computing device 104 may optionally include one ormore data stores (not shown in FIG. 1) including various applications orcomputer-executable instructions, such as web browsers, used toimplement the embodiments disclosed herein. Illustrative components of auser computing device 104 will be described with regard to FIG. 3. Forpurposes of illustration, user computing devices 104 are representativeof a class of devices having increased available computing resources,including the ability for input and output mechanisms typicallyexemplified with interaction with social networks 120.

In accordance with embodiments, the content management system 110includes one or more servers for implementing messaging broker services114, one or more social network services 116 for facilitating theconfiguration of communications between the client devices 102 and thesocial networks 120, and a device configuration data store 112. Asdescribed in further detail below, the messaging services 114 canreceive implement network based messaging protocols, such as MQTT, tofacilitate communications between the client devices 102 and the socialnetworks 120. Illustrative components of a messaging server 114 will bedescribed with regard to FIG. 4.

It will be appreciated by those skilled in the art that the contentmanagement system 110 may have fewer or greater components than areillustrated in FIG. 1. Thus, the depiction of the content parsing system110 in FIG. 1 should be taken as illustrative. For example, in someembodiments, components of the content management system 110, such asthe messaging service 114, may be executed by one more virtual machinesimplemented in a hosted computing environment. A hosted computingenvironment may include one or more rapidly provisioned and releasedcomputing resources, which computing resources may include computing,networking or storage devices.

FIG. 2 depicts one embodiment of an architecture of an illustrativeclient computing device 102 that can generate and process social networkinformation in accordance with the present application. The generalarchitecture of the client computing device 102 depicted in FIG. 2includes an arrangement of computer hardware and software componentsthat may be used to implement aspects of the present disclosure. Asillustrated, the client device 102 includes a processing unit 204, anetwork interface 206, a computer readable medium drive 207, aninput/output device interface 220, an optional display 202, and an inputdevice 224, all of which may communicate with one another by way of acommunication bus. Illustratively, the client computing device 102 mayhave more limited functionality and components, such as inputs oroutputs, as embedded devices.

The network interface 206 may provide connectivity to one or morenetworks or computing systems, such as the network 130 of FIG. 1. Theprocessing unit 204 may thus receive information and instructions fromother computing systems or services via a network. The processing unit204 may also communicate to and from memory 210 and further provideoutput information for an optional display 202 via the input/outputdevice interface 220. The input/output device interface 220 may alsoaccept input from the optional input device 224, such as a keyboard,mouse, digital pen, etc. In some embodiments, the client 102 may includemore (or fewer) components than those shown in FIG. 2. For example, someembodiments of the client computing device 102 may omit the display 202and input device 224, while providing input/output capabilities throughone or more alternative communication channel (e.g., via the networkinterface 206). Additionally, the client device 102 may omit the inputand output interface 220 altogether as well.

The memory 210 may include computer program instructions that theprocessing unit 204 executes in order to implement one or moreembodiments. The memory 210 generally includes RAM, ROM, or otherpersistent or non-transitory memory. The memory 210 may store anoperating system 214 that provides computer program instructions for useby the processing unit 204 in the general administration and operationof the client 102. The memory 210 may further include computer programinstructions and other information for implementing aspects of thepresent disclosure. For example, in one embodiment, the memory 210includes a browser application 216 for accessing content.Illustratively, the browser application 216 may encompass a fullsoftware browser application, portions of a browser application orsimply be a software application (or executable instructions) thatprovide for data connectivity. The memory 210 may further include asocial network component 218 for communicating with and processinginformation from one or more social networks 120. The client computingdevices 102 can further include a social network data store 218 formaintaining social network configuration or profile information forfacilitating communication with the social networks 120.

FIG. 2A depicts one embodiment of an alternative architecture of anillustrative client computing device 102A that can generate and processsocial network information or be utilized in conjunction with thegeneration and processing of social network information in accordancewith the present application. The general architecture of the clientcomputing device 102A depicted in FIG. 2 includes an arrangement ofcomputer hardware and software components that may be used to implementaspects of the present disclosure. However, client computing device 102Amay be associated with a reduced of components that may limit thecomputing functionality and operation of the client device 102A. Asillustrated, the client device 102A includes a processing unit 250 and anetwork interface 252 that communicate with a communication bus. Unlikeclient device 102 (FIG. 2), the client device 102 may not have acomputer readable medium drive, an input/output device interface, anoptional display, or an input device.

The network interface 252 may provide connectivity to one or morenetworks or computing systems, such as the network 130 of FIG. 1. Theprocessing unit 250 may thus receive information and instructions fromother computing systems or services via a network. The memory 254 mayinclude computer program instructions that the processing unit 250executes in order to implement one or more embodiments. The memory 254generally includes RAM, ROM, or other persistent or non-transitorymemory. In this embodiment, the memory 254 may store necessarily store afull operating system that provides computer program instructions foruse by the processing unit 250 in the general administration andoperation of the client 102A. Rather, in one embodiment, the memory 254includes an interface software component 256 for accessing receiving andprocessing instructions.

FIG. 3 depicts one embodiment of an architecture of an illustrative usercomputing device 104 that can generate and process social networkinformation in accordance with the present application. The generalarchitecture of the user computing device 104 depicted in FIG. 3includes an arrangement of computer hardware and software componentsthat may be used to implement aspects of the present disclosure. Asillustrated, the user computing device 104 includes a processing unit304, a network interface 306, a computer readable medium drive 307, aninput/output device interface 330, an optional display 302, and an inputdevice 224, all of which may communicate with one another by way of acommunication bus.

The network interface 306 may provide connectivity to one or morenetworks or computing systems, such as the network 130 of FIG. 1. Theprocessing unit 304 may thus receive information and instructions fromother computing systems or services via a network. The processing unit304 may also communicate to and from memory 310 and further provideoutput information for an optional display 302 via the input/outputdevice interface 330. The input/output device interface 330 may alsoaccept input from the optional input device 324, such as a keyboard,mouse, digital pen, etc. In some embodiments, the user computing device104 may include more (or fewer) components than those shown in FIG. 3.

The memory 310 may include computer program instructions that theprocessing unit 304 executes in order to implement one or moreembodiments. The memory 310 generally includes RAM, ROM, or otherpersistent or non-transitory memory. The memory 310 may store anoperating system 314 that provides computer program instructions for useby the processing unit 304 in the general administration and operationof the user computing device 104. The memory 310 may further includecomputer program instructions and other information for implementingaspects of the present disclosure. For example, in one embodiment, thememory 310 includes a browser application 316 for accessing content andcommunicating with and processing information from one or more socialnetworks 120.

FIG. 4 depicts one embodiment of an architecture of an illustrativeserver for implementing the messaging broker services 114 componentdescribed herein. The general architecture of the messaging broker 114depicted in FIG. 4 includes an arrangement of computer hardware andsoftware components that may be used to implement aspects of the presentdisclosure. As illustrated, the messaging services 114 includes aprocessing unit 404, a network interface 406, a computer readable mediumdrive 407, an input/output device interface 420, an optional display402, and an input device 424, all of which may communicate with oneanother by way of a communication bus. The components of the messagingservices 114 may be physical hardware components or implemented in avirtualized environment.

The network interface 406 may provide connectivity to one or morenetworks or computing systems, such as the network 130 of FIG. 1. Theprocessing unit 404 may thus receive information and instructions fromother computing systems or services via a network. The processing unit404 may also communicate to and from memory 410 and further provideoutput information for an optional display via the input/output deviceinterface 420. The input/output device interface 420 may also acceptinput from the optional input device 424, such as a keyboard, mouse,digital pen, etc. In some embodiments, the messaging services 114 mayinclude more (or fewer) components than those shown in FIG. 4.

The memory 410 may include computer program instructions that theprocessing unit 404 executes in order to implement one or moreembodiments. The memory 410 generally includes RAM, ROM, or otherpersistent or non-transitory memory. The memory 410 may store anoperating system 414 that provides computer program instructions for useby the processing unit 404 in the general administration and operationof the messaging services 114. The memory 410 may further includecomputer program instructions and other information for implementingaspects of the present disclosure. For example, in one embodiment, thememory 410 includes client interface software 412 for receiving andprocessing content requests from client devices 102. Additionally, thememory 410 includes a messaging component 416 for processing messagesfrom the client device 102.

Turning now to FIGS. 5A-5C, illustrative interactions between the clientdevices 102 (either FIG. 2 or FIG. 2A) to configure the client devicesto established contact with one or more social networks 120 will bedescribed. More specifically, FIGS. 5A-5C will be described with regardto interactions between a client computing device 102, one or moresocial networks 120 and the content managements system 110 to allow oneor more client devices 102 to attempt to establish a communicationchannel with a specified user or system administrator (herein “users”)via a social network or set of social networks. Additionally, althoughdepicted as a single interaction between a client computing device 102,content management system 110, and social networks 120, in someembodiments, a plurality of client computing devices 102 can beconfigured using the same processes illustrated in FIG. 5A, 5B, or 5C.Still further, in some embodiments, the content management system 110may also provide virtual representations of the client devices 102 suchthat the interaction depicted at the client device may be executed orimplemented, at least partially, by computing devices provided by thecontent management system and the processing result provided to thephysical client device 102.

With reference to FIG. 5A, at (1), the client computing device 102generates a device connection request and transmits the request to themessaging broker services 114. Illustratively, the device connectionrequest corresponds to established procedures associated with theauthentication and authorization of the client computing device 102 withthe messaging broker services 114. Still further, in some embodiments,the logical network 100 can include additional gateway components thatindependently, or as part of the content management system 110, managethe transmission of the messages to the messaging broker services 114.Such gateway components can implement security functionality, loadbalancing, or other network processing services.

At (2), the remote command services 114 processes the connection requestsuch as by validating security information, requesting additionalinformation or determining the characteristics of the requesting clientcomputing device 102. At (3), if the connection request is acceptableand authorized, the messaging broker services 114 transmits a connectionconfirmation to the requesting client computing device 102. In thisregarding, once authorized, the client computing device and messagingbroker services 114 can begin communication within the proceduresdefined in a messaging protocol, such as MQTT.

With reference now to FIG. 5B, after receiving the connectionconfirmation, at (1), the client computing device 102 transmits one ormore topic registration requests to the remote command services 114.Illustratively, the topic registration is defined in accordance with themessaging protocol such that the client computing device 102 canregister to receive content published according to specific topics byany number of content providers. As applied to the present application,the client computing devices 102 registers for one or more topics thathave been identified for specific social network configuration,generally referred to as “social network topics.” In one embodiment, theclient computing devices 102 can be pre-configured to register forsocial network topics. In other embodiments, individual users mayinteract with the client computing devices 102 to configure the clientcomputing devices to register for the social network topics. The updatetopics can be unique to individual client computing devices 102.Alternatively, the update topics can apply to multiple client computingdevices 102 or sets of client computing devices 102, such as all devicesin a particular geographic location or associated by some organizationalcriteria.

At some point after registration, at (2), a user 104 publishes one ormore pieces content to the messaging service 114. Each published pieceof content is associated with a topic. For purpose of an illustrativeexample, at least one published content is associated with a socialnetwork topic (e.g., a topic related to providing social networkconfiguration of the client devices) and that is a registered topic ofthe client computing devices 102. Additionally, the published piece ofcontent associated with the social network topic includes or otherwisereferences information that will allow the client computing device toestablish contact with a social network 120 (directly or indirectly) andeither make the client device 102 available for connections orconfigured the client device 102 to request connections with the user.For example, the content can include social network account identifiersthat allow the client device to request connections with the accountsassociated with the identifiers. In another example, the content caninclude social media account permissions that defines the accounts fromwhich the client device will accept connection requests. The content canalso include instructions that identify the logistics of the socialnetwork requests, including timing information, specified communicationmedium to use, or other processing instructions.

At (3), the messaging broker services 114 matches the registered topicswith the published topics to determine that the client computing devices102 should receive the published content with the social network topic.By way of illustrative example, the messaging broker services 114 canutilize a variety of mechanism to match registered topics with incomingpublished content, such as matrices, data stores, etc. At (4), themessaging broker service 114 transmits the published content.Illustratively, the transmittal of the published content is done inaccordance with the procedures and capabilities of the messagingprotocol, such as MQTT, and does not require additional or alternativecommunications to cause the transmission of the social networkinformation. Once the content has been received at the client computingdevice 102, the content can be processed to extra the social networkconfiguration information. Additionally, the client computing device 102can utilize additional identification information included in thepublished content to request additional information that may be utilizedas part of the configuration process. In other embodiments, the contentmanagements system 110 may provide some form of additional oralternative processing resources to facilitate that the processing ofthe published content. In this embodiment, the content managementssystem 110 may host a virtualized version (or partial version) of theclient computing device 102 to process the requested content. Thecontent managements system 110 can then return a processing result inthe form of the configuration information to be implemented by thephysical client device 102.

With reference to FIG. 5C, another embodiment for configuring socialnetwork connections will be described. In this embodiment, the clientdevices 102 may be preconfigured to transmit a request to the socialnetwork services 116 of the content management systems 110. In thisaspect, the social network services 116 can function as the clearinghouse of social network configuration information for a variety ofclient devices 102. The social network services 116 can then identifyone or more aspects of the client device 102 and provide social networkinformation to the client device.

At (1), the client device 102 transmits a request to the social networkservice 116. The transmission of the request may correspond toimplementation of a startup routine conduct by the client device. Therequest can include identifiers or other information that will allow thesocial network services 116 to identify information to configure thesocial networks to the client device. At (2), the social networkservices 116 processes the request and at (3) generates social networkconfiguration information for the client device 102. Illustratively, theinformation includes or otherwise references information that will allowthe client computing device to establish contact with a social network120 and either make the client device 102 available for connections orconfigured the client device 102 to request connections with the user.For example, the content can include social network account identifiersthat allow the client device to request connections with the accounts.In another example, the content can include social media accountpermissions that defines the accounts from which the client device willaccept connection requests. At (4), the information is transmitted tothe client device. In a manner similarly described with regard to FIGS.5A and 5B, in other embodiments, the content managements system 110 mayprovide some form of additional or alternative processing resources tofacilitate that the processing of the published content. In thisembodiment, the content managements system 110 may host a virtualizedversion (or partial version) of the client computing device 102 toprocess the requested content. The content managements system 110 canthen return a processing result in the form of the configurationinformation to be implemented by the physical client device 102.

Turning now to FIGS. 6A-6F, illustrative interactions between thecomponents of the logical network 100 to share content via socialnetworks 120 will be described. More specifically, with reference toFIG. 6A, an embodiment illustrating how a client device 102 utilizessocial network configuration information (FIGS. 5A-5C) will bedescribed. At (1), the client device 102 utilizes the social networkinformation to establish communications with a social network. In someembodiments, the client device 102 may have a social network accountedpreviously created and can log into the pre-configured account withnecessary authentication/authorization information. In anotherembodiment, the social network information can include information toestablish the account, on behalf of the client device 102, with thesocial network 120. In embodiments in which the client device 102initiates the establishment of social network communication, theidentity of the user account may be included in the request (or betransmitted thereafter). In embodiments in which the client deviceawaits initiation of a request from a user device, the request caninclude publication information that identifies how the client deviceshould be advertised to potential users. Additionally, as describedabove, in still some embodiments, the communication with the socialnetwork 120 may be facilitated through the content managements system110.

At (2), the social network 120 processes the result and can transmit thesocial network request to a user device 104 at (3). In otherembodiments, the social network 120 processes the results and beginadvertising the availability to accept connection requests such as touser device 104 at (3). One skilled in the relevant art will appreciatethat the number and type of interactions between the social network 120,client device 102 and user device 104 can vary, especially depending onthe type of social network, the communication medium utilized tocommunicate the requests and the capabilities of the client device 102.At (4), the user device 104 can accept the request or transmit a requestto the client device in alternative embodiments. Illustratively, theclient device 102 can take on an active role in seeking connections, apassive role in accepting connection requests or a combination thereof.

With reference to FIG. 6B, in some embodiments, the social networkprofiles may be utilized to facilitate the configuration of theoperation of a client device 102. Illustratively, in this embodiment,the specified user or administrator may been given limited authority tomodify social media profile information or may be associated withauthority such that inputs from the user device 104 or information froma user profile may modify social media profile information. In some ofthese embodiments, the social network profiles may correspond to genericsocial network profiles that are not unique or specialized for theconfiguration of client devices 102. In other embodiments, at least someaspects of the social network profiles can be configured specificallyfor the configuring client devices 102, such as custom fields specifiedor selected to carry configuration information.

Turning to FIG. 6B, at (1), the user device 104 can access socialprofile information and based on authorization, provide somemodification to the information maintained by the social network 120.For example, if the social network profile includes operationalparameters such as operating ranges, timers, input preferences, outputpreferences, related device information, then the user device can accessthe tools and services provided by the social network 120 to modify orsupplement a parameter. Illustratively, the user device 104 can generatevarious user interfaces for publishing existing aspects of the socialnetwork profile and obtaining one or more inputs or modifications to theinformation included in the social network profile.

In further embodiments, the user of the user device 104 (or user device104) can be associated with one or more social network profiles (“userprofiles”) with respective social networks 120. In this embodiment, atleast some portion of the user profiles can be utilized to modify orpopulate a social network profile of the user device 102. For example, auser may maintain a special configuration social network profile thatprovides common configuration information for client devices 102. Inanother example, a user may maintain multiple, special configurationsocial network profiles that individually provide common configurationinformation for classes of client devices 102. In still another example,the user may utilize aspects of a general or generic social networkprofile to provide configuration information for client devices 102. Theselection of the configuration information from the user social networkprofile may be automatically merged or extracted. In other embodiments,the user device 104 may provide user input regarding which informationmay be utilized or added to the client device social network profiles.

At (2), the social network 120 processes the update and makesappropriate changes to the profile information. Illustratively, thesocial network 120 can validate the information being provided for theclient device social network profiles. For example, the social network120 can maintain minimum or maximum threshold criteria that specifieslimits to the setting of a client device configuration. In anotheraspect, the social network 120 can further modify or create variationsof the information being updated. Additionally, in still another aspect,the social network 120 can change security or authorization informationto change the social profile information.

At (3), the client device 102 can access or receive the social networkprofile information. At (4), the client device 102 parses theinformation in the social network profile to extract operationalparameters or commands. As previously discussed, in some embodiments,the client device 102 can include sufficient functionality to access thesocial network profile information, parse the information to extractconfiguration information and implement the configuration information.In other embodiments, the content managements system 110 (or otherservice provider) can provide virtualization resources that implement atleast a portion of the functionality utilized by the physical clientdevice 102 to receive the social network profile information, extractconfiguration information and cause implementation of the configurationinformation on the client device.

With reference to FIG. 6C, in some embodiments, the social networkcommunications may be utilized to facilitate the configuration of theoperation of a client device 102 or provide information related to theoperation of the client device. Illustratively, in this embodiment, thespecified user or administrator has been given limited authority toreceive social media communications.

Turning to FIG. 6C, at (1), the user device 104 can publish socialnetwork communications, such as limited character posts, privatemessages, group messages and provide information to the social network120. For example, the user device 104 can include messaging referring toor referencing operational parameters such as operating ranges, timers,input preferences, output preferences, related device information. At(2), the social network 120 processes the information. Illustratively,the social network 120 can make validations or variations of theinformation or the authority to publish context information to theclient device 102. In some embodiments, the social network 120 may haveone or more processing rules that define acceptable ranges ofoperational parameters, acceptable times for implementing parameterchanges, acceptable user devices or keywords and the like. In theseembodiments, the social network 120 can apply the processing rules tothe published social network information and make changes, filter orotherwise reject the messages provided by the client device 104.

At (3), the client device 102 can access or receive the social networkprofile information. At (4), the client device 102 parses theinformation in the social network profile to extract operationalparameters or commands. As previously discussed, in some embodiments,the client device 102 can include sufficient functionality to access thesocial network profile information, parse the information to extractconfiguration information and implement the configuration information.In other embodiments, the content managements system 110 (or otherservice provider) can provide virtualization resources that implement atleast a portion of the functionality utilized by the physical clientdevice 102 to receive and process the operational parameter informationpublished in the social network messages. In this embodiment, thecontent management system 110 can implement a virtual version of theclient device 102 or implement functionality to process and send theoperational parameter information.

At (5), the client device 102 implements the extracted informationoperational parameters. Additionally, the client device 102 can alsopublish via the same (or different) communication link informationrelated to the status of the implementation of the command orconfiguration such as a progress report, etc. For example, the clientdevice 102 can publish a confirmation code or an acknowledgement messageintended for the client device 104 or other recipients.

With reference to FIG. 6D, in some embodiments, social networkcommunications between two user devices 104 may be utilized tofacilitate the configuration of the operation of a client device 102 orprovide information related to the operation of the client device 102.Illustratively, in this embodiment, the client device 102 can receivecommunications exchanged between two user devices 104 and 104B via asocial network 120. In this embodiment, the client device 102, userdevice 104 and user device 104B have been given at least limited ortemporary authority to receive social media communications.

Turning to FIG. 6D, at (1), the user device 104 can publish socialnetwork communications, such as limited character posts, privatemessages, group messages and provide information to the social network120. For example, the user device 104 can include messaging referring toor referencing operational parameters such as operating ranges, timers,input preferences, output preferences, related device information, orother information related to activity. In this embodiment, thecommunication may not be directed directly to the client device 102, butto another social network user 104B or some identifier that may becommon to both. At (2), the social network 120 processes theinformation. Illustratively, the social network 120 can make validationsor variations of the information or the authority to change the socialprofile information. As previously described, in some embodiments, thesocial network 120 may have one or more processing rules that defineacceptable ranges of operational parameters, acceptable times forimplementing parameter changes, acceptable user devices or keywords andthe like. In these embodiments, the social network 120 can apply theprocessing rules to the published social network information and makechanges, filter or otherwise reject the messages provided by the clientdevice 104. Additionally, in some embodiments, the social network mayalso configured, such as using social network profile information, tosupplement the network message with missing or omitted operationalparameters. For example, if the social network message includes aninstruction to being operation at the client device 102, the socialnetwork profile may indicate that the operation of the device have afixed time limit. Accordingly, in this example, the social networkmessage may be supplemented with the appropriate ending time based onsocial network profile information.

At (3), the client device 102 can access or receive the social networkprofile information. At (4), the client device 102 parses theinformation in the social network profile to extract operationalparameters or commands. At (5), the client device 102 implements theextract information. For purposes of illustrating many of theabove-mentioned embodiments and alternatives, FIG. 6E illustrates theutilization of the social network service 116 to facilitate theprocessing of the social network information and provide the processedor extracted information to the client device 102. Although illustratedwith regard to FIG. 6E, one skilled in the art will appreciate thatutilization of a service, such as social network service 116,Additionally, the client device 102 can also publish via the same (ordifferent) communication link information related to the status of theimplementation of the command or configuration such as a progressreport, etc.

With reference to FIG. 6F, in some embodiments, the social networkcommunications may be utilized to facilitate the publication ofinformation related to the operation of a client device 102 or provideinformation related to the operation of the client device.Illustratively, in this embodiment, the client device can transmitcommunications to specified user or administrator via social networkcommunications.

Turning to FIG. 6F, at (1) and (2), the client device 102 can generateand publish social network communications, such as limited characterposts, private messages, group messages and provide information to thesocial network 120. For example, the client device 102 can includemessaging referring to or referencing operational parameters such asoperating ranges, timers, input preferences, output preferences, relateddevice information, error conditions, instrumentation, or otherinformation related to activity. As previously discussed, in someembodiments, the client device 102 can include sufficient functionalityto generate the operational parameters embedded in the social networkmessages. In other embodiments, the content management system 110 (orother service provider) can provide virtualization resources thatimplement at least a portion of the functionality utilized by thephysical client device 102 to generate the social network informationand publish on behalf of the client device 102.

At (3), the social network 120 processes the information.Illustratively, the social network 120 can make validations orvariations of the information or the authority to change the socialprofile information. At (4), the user device can access or receive thesocial network information. At (5), the user device 102 can display,store or archive the published parameters.

FIG. 7 is a flow diagram illustrative of a social network configurationroutine 700 implemented by a client device 102 in accordance with anillustrative embodiment. In some embodiments, one or more of thefunctions of the client device 102 may be implemented by a serviceprovider, such as the content management system 110. Accordingly, theaction attributed to the client device 102 can be considered to beimplemented either directly by the client device 102 or indirectly via aservice provider. At block 702, obtains social network configurationinformation. As illustrated in FIGS. 5A-5B, in one embodiment, theclient device 102 can obtain the social network configurationinformation from a messaging protocol. As illustrated in FIG. 5C, inanother embodiment, the client device 102 can obtain the social networkconfiguration information via a social network services. In stillfurther embodiments, the client device 102 can be configured by amanufacturer. In yet further embodiments, the client device may receivesocial network information from individual user manipulation of inputdevices.

At block 704, at block 704, the client device 102 transmits a request tojoin (or a request to be asked) a social network. In some embodiments,the client device 102 may have a social network accounted previouslycreated and can log into the pre-configured account with necessaryauthentication/authorization information. In another embodiment, thesocial network information can include information to establish theaccount, on behalf of the client device 102, with the social network120. In embodiments in which the client device 102 initiates theestablishment of social network communication, the identity of the useraccount may be included in the request (or be transmitted thereafter).In embodiments in which the client device awaits initiation of a requestfrom a user device, the request can include publication information thatidentifies how the client device should be advertised to potentialusers.

At block 706, the client device 102 generates or receives social networkprofile information for one or more social networks. In some of theseembodiments, the social network profiles may correspond to genericsocial network profiles that are not unique or specialized for theconfiguration of client devices 102. In other embodiments, at least someaspects of the social network profiles can be configured specificallyfor the configuring client devices 102, such as custom fields specifiedor selected to carry configuration information. Still further, in someembodiments, the client device 102 can incorporate aspects of anothersocial network profile, such as the social profile information for anauthorized user (e.g., a system administrator).

At block 708, the client publishes the social media profile information.As previously discussed, the user device 104 can access social profileinformation and based on authorization, provide some modification to theinformation maintained by the social network 120. For example, if thesocial media profile includes operational parameters such as operatingranges, timers, input preferences, output preferences, related deviceinformation, then the user device can access the tools and servicesprovided by the social network 120 to modify or supplement a parameter.At block 708, the routine terminates.

FIG. 8 is a flow diagram illustrative of a social network informationprocessing routine 800 implemented by a client device in accordance withan illustrative embodiment. Illustratively, the user device 104 canpublish social network communications, such as limited character posts,private messages, group messages and provide information to the socialnetwork 120. For example, the user device 104 can include messagingreferring to or referencing operational parameters such as operatingranges, timers, input preferences, output preferences, related deviceinformation, or other information related to activity. In thisembodiment, the communication may not be directed directly to the clientdevice, but to other social network users 104B. At block 802, the clientdevice 102 can access or receive the social network informationpublished by the social network 120. As previously described, in someembodiments, the social network 120 may have one or more processingrules that define acceptable ranges of operational parameters,acceptable times for implementing parameter changes, acceptable userdevices or keywords and the like. In these embodiments, the socialnetwork 120 can apply the processing rules to the published socialnetwork information and make changes, filter or otherwise reject themessages provided by the client device 104. Additionally, in someembodiments, the social network may also configured, such as usingsocial network profile information, to supplement the network messagewith missing or omitted operational parameters. For example, if thesocial network message includes an instruction to being operation at theclient device 102, the social network profile may indicate that theoperation of the device have a fixed time limit. Accordingly, in thisexample, the social network message may be supplemented with theappropriate ending time based on social network profile information. Atblock 804, the client device 102 parses the information in the socialnetwork profile to extract operational parameters or commands. Aspreviously described, in some embodiments, the client device 102 mayindirectly process the information through the utilization of a serviceprovider that implements at least a portion of the processingfunctionality.

At block 806, the client device 102 implements the extract information.Additionally, at block 808, client device 102 can also publish via thesame (or different) communication link information related to the statusof the implementation of the command or configuration such as a progressreport, etc. The routine 800 terminates at block 810.

All of the methods and processes described above may be embodied in, andfully automated via, software code modules executed by one or morecomputers or processors. The code modules may be stored in any type ofnon-transitory computer-readable medium or other computer storagedevice. Some or all of the methods may alternatively be embodied inspecialized computer hardware.

Conditional language such as, among others, “can,” “could,” “might” or“may,” unless specifically stated otherwise, are otherwise understoodwithin the context as used in general to present that certainembodiments include, while other embodiments do not include, certainfeatures, elements and/or steps. Thus, such conditional language is notgenerally intended to imply that features, elements and/or steps are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or without userinput or prompting, whether these features, elements and/or steps areincluded or are to be performed in any particular embodiment.

Disjunctive language such as the phrase “at least one of X, Y or Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc., may beeither X, Y or Z, or any combination thereof (e.g., X, Y and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y or at least one of Z to each be present.

Unless otherwise explicitly stated, articles such as ‘a’ or ‘an’ shouldgenerally be interpreted to include one or more described items.Accordingly, phrases such as “a device configured to” are intended toinclude one or more recited devices. Such one or more recited devicescan also be collectively configured to carry out the stated recitations.For example, “a processor configured to carry out recitations A, B andC” can include a first processor configured to carry out recitation Aworking in conjunction with a second processor configured to carry outrecitations B and C.

Any routine descriptions, elements or blocks in the flow diagramsdescribed herein and/or depicted in the attached figures should beunderstood as potentially representing modules, segments, or portions ofcode which include one or more executable instructions for implementingspecific logical functions or elements in the routine. Alternateimplementations are included within the scope of the embodimentsdescribed herein in which elements or functions may be deleted, orexecuted out of order from that shown or discussed, includingsubstantially synchronously or in reverse order, depending on thefunctionality involved as would be understood by those skilled in theart.

It should be emphasized that many variations and modifications may bemade to the above-described embodiments, the elements of which are to beunderstood as being among other acceptable examples. All suchmodifications and variations are intended to be included herein withinthe scope of this disclosure and protected by the following claims.

What is claimed is:
 1. A system for managing the configuration of clientdevices utilizing social networks comprising: one or more social networkservices configured to receive and publish content based on associatedsocial network accounts; and one or more computing devices associatedwith a specified user, wherein the specified user is associated with atleast one account on the one or more social network services; at leastone client device having a data connectivity application that can accessthe one or more social network services, wherein the client device isconfigured to: receive social network information associated with thespecified user; establish a communication link with the one or moresocial networks based on the social network information; associate asocial network account corresponding to the client device with a socialnetwork account corresponding to the specified user, wherein associatingthe social network comprises, based at least in part on the receivedsocial network information, automatically initiating or accepting arequest to associate the social network account corresponding to theclient device with the social network account corresponding to thespecified user; obtain configuration information provided through theone or more social network services, wherein obtaining the configurationinformation comprises parsing a natural language message sent from thesocial network account corresponding to the specified user to the socialnetwork account corresponding to the client device; and causeimplementation of a change in a configuration of the client device basedon the configuration information provided through the one or more socialnetworks.
 2. The system of claim 1, wherein the received social networkinformation comprises an identifier of the social network correspondingto the specified user, and wherein the client device associates thesocial network account corresponding to the client device with thesocial network account corresponding to the specified user bytransmitting, responsive to receiving the identifier, a request to joina social network account corresponding to the specified user.
 3. Thesystem of claim 1, wherein the received social network informationcomprises a permission to accept requests from the social networkaccount corresponding to the specified user.
 4. The system of claim 1,wherein the client device is associated with a social network profile,the social network profile indicative of operational parameters of theclient device.
 5. A computer-implemented method for managingconfiguration of computing devices comprising: receiving, at a clientdevice, social network information associated with a specified user;associating, by the client device, a social network accountcorresponding to the client device with a social network accountcorresponding to the specified user, wherein the associating the socialnetwork comprises, based at least in part on the received social networkinformation, automatically initiating or accepting a request toassociate the social network account corresponding to the client devicewith the social network account corresponding to the specified user;obtaining, by the client device, configuration information providedthrough the one or more social networks, wherein obtaining theconfiguration information comprises parsing a natural language messagesent from the social network account corresponding to the specified userto the social network account corresponding to the client device; andcausing, by the client device, implementation of a change in aconfiguration of the client device based on the configurationinformation provided through the one or more social networks.
 6. Thecomputer-implemented method of claim 5, wherein receiving the socialnetwork information includes receiving a message in accordance with theMQ Telemetry Transport protocol, the message including the socialnetwork information.
 7. The computer-implemented method of claim 5,wherein the social network information includes timing information, andwherein the client device initiates or accepts the request in accordancewith the timing information.
 8. The computer-implemented method of claim5, wherein associating with the social network account includestransmitting a request to join a social network account corresponding tothe specified user.
 9. The computer-implemented method of claim 8,wherein transmitting the request to join a social network accountcorresponding to the specified user is based on one or more socialnetwork account identifiers included in the social network information.10. The computer-implemented method of claim 5, wherein associating withthe social network account includes accepting a request to join a socialnetwork account corresponding to the specified user.
 11. Thecomputer-implemented method of claim 5, wherein the social networkinformation includes permission information identifying one or moresocial network accounts in which the client device is allowed to acceptsocial network requests.
 12. The computer-implemented method of claim 5,wherein the client device is associated with a social network profile,the social network profile indicative of operational parameters of theclient device.
 13. The computer-implemented method of claim 12 furthercomprising publishing, by the client device, the social network profileinformation to the specified user.
 14. The computer-implemented methodof claim 13, wherein obtaining configuration information providedthrough the one or more social networks includes: obtaining, by theclient device, information indicative of a modification of the socialnetwork profile associated with the client device; extracting, by theclient device, configuration information from the modification of thesocial network profile.
 15. The computer-implemented method of claim 12,wherein the client device is associated with a group of client devices,and wherein at least one portion of the social network profileinformation is shared by the group of client devices.
 16. Acomputer-implemented method for managing the execution of commandsutilizing message protocols comprising: associating a social networkaccount corresponding to a client device with a social network accountcorresponding to a specified user, wherein associating the socialnetwork comprises, based at least in part on received social networkinformation associated with the specified user, automatically initiatingor accepting a request to associate the social network accountcorresponding to the client device with the social network accountcorresponding to the specified user; obtaining, by the client device,configuration information maintained on behalf of the client devicethrough the social network account corresponding to the specified user,wherein obtaining the configuration information comprises parsingnatural language information received at the social network accountcorresponding to the client device; and causing, by the client device,implementation of a change in a configuration of the client device basedon the configuration information maintained through the social networkaccount corresponding to the specified user.
 17. Thecomputer-implemented method of claim 16, wherein the received socialnetwork information causes the client device to initiate the request.18. The computer-implemented method of claim 16, wherein the receivedsocial network information includes one or more instructions specifyinglogistics of the request.
 19. The computer-implemented method of claim18, wherein the one or more instructions comprise at least one of timinginformation and a specified communication medium.
 20. Thecomputer-implemented method of claim 16, wherein obtaining theconfiguration information includes obtaining configuration informationfrom a service provider configured to process the configurationinformation on behalf of the client device.